package cn.e_eap.esite.action;

import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import cn.e_eap.esite.bean.Employee;
import cn.e_eap.esite.bean.Module;
import cn.e_eap.esite.manager.ModuleManager;
import cn.e_eap.esite.web.SystemContext;
import cn.e_eap.esite.web.form.ModuleForm;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class IndexAction extends ActionSupport 
///implements ModelDriven<Employee>
{

//	private ACLManager aclManager;
//
//	private Map<Module, List<Module>> moduleMap;

	private ModuleManager moduleManager;
	private List<Module> modules;

	public String admin() {
		Map<String, Object> session = ActionContext.getContext().getSession();
		
		Employee user = (Employee) session.get(SystemContext.SessionKey.USER);
//		if (user != null)
//			setModuleMap(aclManager.loadModules(user.getId()));
		
		modules = moduleManager.find(new ModuleForm(),null);
		return SUCCESS;
	}

	public String execute() {

		return SUCCESS;
	}
//	
//	public String init() throws IOException, URISyntaxException {
//		
//		InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("init_datas.xml");
//		if(in == null) {
//			in = this.getClass().getResourceAsStream("init_datas.xml");
//			if(in==null)
//			throw new SystemException("读取初始化文件失败！");
//		}
//		initSysDatas.addOrUpdateDatas(in);
//		SystemProperties.setInstalled(true); 
//		return SUCCESS;
//	}
//
//	public ACLManager getAclManager() {
//		return aclManager;
//	}
//
//	@Override
//	public UserForm getModel() {
//		return userForm;
//	}
//
//	public Map<Module, List<Module>> getModuleMap() {
//		return moduleMap;
//	}
//
//	public String getUrl() {
//		return url;
//	}
//
//	public UserManager getUserManager() {
//		return userManager;
//	}
//
//	public void setAclManager(ACLManager aclManager) {
//		this.aclManager = aclManager;
//	}
//
//	public void setModuleMap(Map<Module, List<Module>> moduleMap) {
//		this.moduleMap = moduleMap;
//	}
//
//	public void setUrl(String url) {
//		this.url = url;
//	}
//
//	@Resource
//	public void setUserManager(UserManager userManager) {
//		this.userManager = userManager;
//	}
//
//	@Resource
//	public void setInitSysDatas(InitSysDatas initSysDatas) {
//		this.initSysDatas = initSysDatas;
//	}

	public List<Module> getModules() {
		return modules;
	}

	public void setModules(List<Module> modules) {
		this.modules = modules;
	}

	public ModuleManager getModuleManager() {
		return moduleManager;
	}

	@Resource
	public void setModuleManager(ModuleManager moduleManager) {
		this.moduleManager = moduleManager;
	}

}
